API Keys

Admin Panel > Manage > API Keys

Adding/Enabling/Disabling/Deleting an API Key

The SupportSystem API built into SupportSystem allows you to write your own html forms and push the data into SupportSystem to open tickets.

Add New API Key Button

In this section, API keys can be added with the ‘Add New API Key’ button, and they can be enabled/disabled/deleted by clicking on the checkbox next to the key, then clicking on the top right drop-down menu.

The following image is the information page where an API Key can be entered and Added. At this page, the API Key can be set to Active or Disabled, the IP address of the server that hosts the software. Then, Ticket Creation and Cron services can be enabled for the key. Finally, an internal note can be inserted to note the reason for this key.

Add New API Key Page

Implementing API

The SupportSystem API is implemented as (somewhat) simple XML or JSON over HTTP. For now, only ticket creation is supported, but eventually, all resources inside SupportSystem will be accessible and modifiable via the API.

Authentication

Authentication via the API is done via API keys configured inside the SupportSystem admin panel. API keys are created and tied to a source IP address, which will be checked against the source IP of requests to the HTTP API.

API keys can be created and managed via the admin panel. Navigate to Manage -> API keys. Use Add New API Key to create a new API key. Currently, no special configuration is required to allow the API key to be used for the HTTP API. All API keys are valid for the HTTP API.

HTTP Access

Access to the HTTP API is restricted to valid API keys. An X-API-Key HTTP header must be sent to indicate which API key is to be used with the request. The API key must match the remote IP of the connected HTTP client. The remote IP is checked as usual. Example:

X-API-Key: BA00B76BAA30F62E1940B46CC1C3C73C

Commandline Example with Curl:

curl -d "{}" -H "X-API-Key: BA00B76BAA30F62E1940B46CC1C3C73C"
    https://support.you.tld/api/tickets.json

Wrappers

Currently, there are no wrappers for the API. If you’ve written one and would like it on the list, submit a pull request to add your wrapper.

Resources

Tickets